A cellular radio access network is a collection of cells that each includes at least one base station capable of transmitting and relaying signals to subscribers' wireless devices. A “cell” generally denotes a distinct area of a mobile network that utilizes a particular frequency or range of frequencies for transmission of data. A typical base station is a tower, to which a number of antennas are affixed, and the antennas transmit and receive the data over the particular frequency. Wireless devices, such as cellular or mobile phones, smart phones, camera phones, personal digital assistants (PDAs) and laptop computers, may initiate or otherwise transmit a signal at the particular frequency to the base station to initiate a call or data session and begin transmitting data.
Mobile service provider networks convert cellular signals, e.g., Time Division Multiple Access (TDMA) signals, Orthogonal Frequency-Division Multiplexing (OFDM) signals or Code Division Multiple Access (CDMA) signals, received at a base station from wireless devices into Internet protocol (IP) packets for transmission within packet-based networks. A number of standards have been proposed to facilitate this conversion and transmission of cellular signals to IP packets, such as a general packet radio service (GPRS) standardized by the Global System for Mobile Communications (GSM) Association, a Universal Mobile Telecommunications System (UMTS) architecture, an enhancement of UMTS referred to as Long Term Evolution (LTE), mobile IP standardized by the Internet Engineering Task Force (IETF), as well as other standards proposed by the 3rd Generation Partnership Project (3GPP), 3rd Generation Partnership Project 2 (3GPP/2) and the Worldwide Interoperability for Microwave Access (WiMAX) forum.
A typical 3GPP mobile service provider network, or mobile network, includes a core packet-switched network, a transport network, and one or more radio access networks. The core packet-switched network for the mobile network uses a variety of control protocols to authenticate users and establish logical connections, known as bearers, among the many service nodes on a path between a wireless device, attached to one of the radio access networks, and a packet data network (PDN). The service nodes then utilize the bearers, which employ data protocols, to transport subscriber traffic exchanged between the wireless device and the PDN, which may include, for example, the Internet, an enterprise intranet, a layer 3 VPN, and a service provider's private network. Various PDNs provide a variety of packet-based services to wireless devices to enable the wireless devices to exchange service data with application or other servers of the PDNs.
In many cases, packets sent downlink from a PDN gateway (PGW) device to a serving gateway (SGW) device become fragmented. That is, the PGW device typically sends packets to the SGW device via a network tunnel, such as an Internet protocol (IP), user datagram protocol (UDP), or GPRS tunnel. In order to tunnel the packets, the PGW encapsulates the packets with an additional header corresponding to the tunnel, which can cause the packet to exceed the maximum transmission unit (MTU) size of an S5 interface, that is, an interface between the PGW device and the SGW device. When encapsulation of a packet would cause the encapsulated to exceed the MTU size, the packet is fragmented, i.e., split into multiple packet fragments that are communicated separately, thereby remaining within the bounds of the MTU size.
Such fragmentation may result in loss of identifying information for the fragments during transit of the fragments. That is, in many cases, outer packet fragmentation occurs, which leads to fragmentation of tunnel headers for the fragmented packets. The tunnel header corresponds to a tunnel between a mobile device and a mobile gateway. Accordingly, the fragments must be reassembled at the SGW device, in order to recover the tunnel header. Reassembly of the packets is typically performed by multithreaded software operations in the control plane that consume significant processing resources of a control plane processor on the SGW. In some examples, a processor of the SGW device includes the capability to execute 24 threads, and three of the 24 threads may be devoted to reassembly of fragmented packets.